




import { getFictionShelfList } from '@/api/fictionShelf'




export default {
    state : {
        Book : {
            fictionshelf : {
                list : [],
                newFictionNum : 0
            },
            bookRead : {
                list : [],
                poi : 0,
                pageLength : 0,
                pageContent : {},
                colors : [
                    {
                        page : {
                            background : 'rgb(217,199,163)',
                            color : '#030303',
                        },
                        box : {
                            background : 'rgb(203,184,144)',
                            color : 'rgb(144, 109, 34)',
                        },
                        addBookShele : {
                            background : 'rgb(144, 109, 34)',
                            color : '#fff',
                        }
                    },
                    {
                        page : {
                            background : 'rgb(255,255,255)',
                            color : '#030303',
                        },
                        box : {
                            background : 'rgb(218 214 206)',
                            color : '#333',
                        },
                        addBookShele : {
                            background : 'rgb(255 238 204)',
                            color : '#333',
                        }
                    },
                    {
                        page : {
                            background : 'rgb(239 222 222)',
                            color : '#030303',
                        },
                        box : {
                            background : 'rgb(255 240 240)',
                            color : '#333',
                        },
                        addBookShele : {
                            background : 'rgb(255 238 204)',
                            color : '#333',
                        }
                    },
                    {
                        page : {
                            background : 'rgb(0,0,0)',
                            color : '#888',
                        },
                        box : {
                            background : 'rgb(22,22,22)',
                            color : 'rgb(77, 77, 77)',
                        },
                        addBookShele : {
                            background : 'rgb(77, 77, 77)',
                            color : '#fff',
                        }
                    }
                ]
            },
            limit : 50,
        }
    },
    mutations : {
        // 获取书架中的小说
        getFictionShelfList({ Book }, fn){
            getFictionShelfList({
                type : 'fiction_shelf',
                page : 1,
                limit : Book.limit
            }).then(res => {
                if(res.code == 200){
                    Book.fictionshelf = res.data
                }
                if(typeof fn == 'function'){
                    fn(res)
                }
            })
        },


        // 保存阅读设置
        savePageContent({ Book }){
            localStorage.setItem('book:read:pageContent', JSON.stringify(Book.bookRead.pageContent))
        },
        // app启动恢复设置
        getPageContent({ Book }){
            let data = localStorage.getItem('book:read:pageContent')
            if(data){
                Book.bookRead.pageContent = JSON.parse(data)
            }else{
                Book.bookRead.pageContent = {
                    minFontSize : 12,//最小字体
                    maxFontSize : 30,//最大字体
                    fontSize: 19,//当前字体大小
                    
                    minLineHeight : 20,//最小行高
                    maxLineHeight : 60,//最大行高
                    lineHeight: 40,//当前行高
                    
                    minLetterSpcing : 0,//最小字体
                    maxLetterSpcing : 10,//最大字体
                    letterSpcing: 0,//当前字体大小
                }
            }
        },
        // 恢复默认阅读设置
        delPageContent({ Book }){
            localStorage.removeItem('book:read:pageContent')
            this.commit('getPageContent')
        }
    },
    actions : {

    }
}